#pragma once

#pragma managed

#include "..\BWTA\BaseLocation.h"
#include "..\BWTA\Chokepoint.h"

using namespace BroodWar::Api;
using namespace BroodWar::Api::Enum;
using namespace BroodWar::Terrain;

namespace BroodWar
{
	namespace Addon
	{
		public interface class IBorderManager
		{
			void OnFrame();
			void AddMyBase(BaseLocation^ location);
			void RemoveMyBase(BaseLocation^ location);
			property HashSet<Chokepoint^>^ MyBorder { HashSet<Chokepoint^>^ get(); }
			property HashSet<Chokepoint^>^ EnemyBorder { HashSet<Chokepoint^>^ get(); }
			property HashSet<Chokepoint^>^ MyRegions { HashSet<Chokepoint^>^ get(); }
			property HashSet<Chokepoint^>^ EnemyRegions { HashSet<Chokepoint^>^ get(); }
			void Draw();
		};
	}
}
